﻿using Admin.NET.Core;
using System.ComponentModel.DataAnnotations;

namespace IotFun.Views.EquipTagView.Dto;

/// <summary>
/// 设备点位基础输入参数
/// </summary>
public class EquipTagBaseInput
    {
    public long id { get; set; }
    /// <summary>
    /// 名称
    /// </summary>
    public virtual string name { get; set; }
        
        /// <summary>
        /// 点位编号
        /// </summary>
        public virtual string tagnum { get; set; }
        
        /// <summary>
        /// 编号属性
        /// </summary>
        public virtual string tagproperty { get; set; }
        
        /// <summary>
        /// 地址
        /// </summary>
        public virtual string address { get; set; }
        
        /// <summary>
        /// 数据类型
        /// </summary>
        public virtual int datatype { get; set; }
        
        /// <summary>
        /// 数据长度
        /// </summary>
        public virtual int datalength { get; set; }
        
        /// <summary>
        /// 设备Id
        /// </summary>
        public virtual long equipinfoid { get; set; }
        
        /// <summary>
        /// 读写
        /// </summary>
        public virtual int readwrite { get; set; }
        
        /// <summary>
        /// 读取块
        /// </summary>
        public virtual string readblock { get; set; }
        
        /// <summary>
        /// 是否启用
        /// </summary>
        public virtual int isenable { get; set; }
        
        /// <summary>
        /// 表达式
        /// </summary>
        public virtual string expression { get; set; }
        
        /// <summary>
        /// 备注
        /// </summary>
        public virtual string remark { get; set; }

    public string ismqttpublish { get; set; }

}

    /// <summary>
    /// 设备点位分页查询输入参数
    /// </summary>
    public class EquipTagInput : BasePageInput
    {
        /// <summary>
        /// 名称
        /// </summary>
        public string name { get; set; }

    /// <summary>
    /// 设备Id
    /// </summary>
       public long equipId { get; set; }
    /// <summary>
    /// 设备协议
    /// </summary>

    public string protobufType { get; set; }

    /// <summary>
    /// 设备名称
    /// </summary>
    public string equip { get; set; }
    
        
    }

    /// <summary>
    /// 设备点位增加输入参数
    /// </summary>
    public class AddEquipTagInput : EquipTagBaseInput
    {
    }

    /// <summary>
    /// 设备点位删除输入参数
    /// </summary>
    public class DeleteEquipTagInput : BaseIdInput
    {
    }

    /// <summary>
    /// 设备点位更新输入参数
    /// </summary>
    public class UpdateEquipTagInput : EquipTagBaseInput
    {
    }

    /// <summary>
    /// 设备点位主键查询输入参数
    /// </summary>
    public class QueryByIdEquipTagInput : DeleteEquipTagInput
    {

    }
